package com.asion.vmovie.api;

import com.asion.vmovie.beans.CateDetials;
import com.asion.vmovie.beans.ChannalsBean;
import com.asion.vmovie.beans.CommentBean;
import com.asion.vmovie.beans.DetialsBean;
import com.asion.vmovie.beans.LunBoBean;
import com.asion.vmovie.beans.MuHouTabBean;
import com.asion.vmovie.beans.SeriesBean;
import com.asion.vmovie.beans.SeriesDetialsBean;
import com.asion.vmovie.beans.VideoBean;

import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import rx.Observable;

/**
 * Created by asion on 16-10-17.
 */

public interface ApiService {

    String BASE_URL = "http://app.vmoiver.com/apiv3/";

    //轮播  http://app.vmoiver.com/apiv3/index/getBanner
    @GET("index/getBanner")
    Observable<LunBoBean> getBanner();

    //轮播详情 http://app.vmoiver.com/apiv3/post/view  （post请求  postid  == app_banner_param）
    //（如果 app_banner_param 是网址 则直接跳网址）

    @FormUrlEncoded
    @POST("post/view")
    Observable<CateDetials> getBannerDetial(@Field("postid") int postid);

    //轮播下方内容 http://app.vmoiver.com/apiv3/post/getPostByTab
    //           （post请求   p 页数  size 个数 tab latest） tab 固定的 latest

    @FormUrlEncoded
    @POST("post/getPostByTab")
    Observable<DetialsBean> getNewsCommend(@Field("p") int p, @Field("size") int size, @Field("tab") String tab);


    //频道列表 http://app.vmoiver.com/apiv3/cate/getList  （热门 专题 貌似没有）
    @GET("cate/getList")
    Observable<ChannalsBean> getPingDao();

    //列表详情 http://app.vmoiver.com/apiv3/post/getPostInCate
    // （post请求   p 页数  size 个数 cateid == cateid）

    @FormUrlEncoded
    @POST("post/getPostInCate")
    Observable<DetialsBean> getPingDaoDetial(@Field("p") int p, @Field("size") int size, @Field("cateid") String cateid);

    //内容详情 http://app.vmoiver.com/apiv3/post/view  （post请求  postid  == postid）
    @FormUrlEncoded
    @POST("post/view")
    Observable<CateDetials> getCommendDetail(@Field("postid") int postid);

    //搜索  http://app.vmoiver.com/apiv3/search/index  （post请求   p 页数  size 个数 kw== 搜索内容）
    @FormUrlEncoded
    @POST("search/index")
    Observable<DetialsBean> getSearchData(@Field("p") int p, @Field("size") int size, @Field("kw") String kw);

    //系列  http://app.vmoiver.com/apiv3/series/getList  （post请求 p 页数  size 个数）
    @FormUrlEncoded
    @POST("series/getList")
    Observable<SeriesBean> getXiLieDatas(@Field("p") int p, @Field("size") int size);

    //系列详情
    //http://app.vmoiver.com/apiv3/series/view （post请求  seriesid == seriesid）
    @FormUrlEncoded
    @POST("series/view")
    Observable<SeriesDetialsBean> getXiLieDetials(@Field("seriesid") int seriesid);

    //视频地址：
    //http://app.vmoiver.com/apiv3/series/getVideo  （post请求  series_postid 1792）
    @FormUrlEncoded
    @POST("series/getVideo")
    Observable<VideoBean> getXiLieVideos(@Field("series_postid") int series_postid);


    //    首页评论+幕后文章评论：
//    http://app.vmoiver.com/apiv3/comment/getLists （p  size  postid   type 0）
//    系列评论：
//    http://app.vmoiver.com/apiv3/comment/getLists （p  size  postid   type 1）
    @FormUrlEncoded
    @POST("comment/getLists")
    Observable<CommentBean> getComment(@Field("p") int p, @Field("size") int size, @Field("postid") int kw, @Field("type") int type);


    //    幕后：
//    tab
//    http://app.vmoiver.com/apiv3/backstage/getCate
    @GET("backstage/getCate")
    Observable<MuHouTabBean> getBackStageTab();

    //    内容：
//    http://app.vmoiver.com/apiv3/backstage/getPostByCate  （p   size   cateid == cateid ）

    @FormUrlEncoded
    @POST("backstage/getPostByCate")
    Observable<DetialsBean> getBackStageDetial(@Field("p") int p, @Field("size") int size, @Field("cateid") int cateid);

    //    详请：
//    http://app.vmoiver.com/apiv3/post/view  （post请求  postid  == postid）
    @FormUrlEncoded
    @POST("post/view")
    Observable<CateDetials> getBackStageDetial(@Field("postid") int postid);
}
